import type { IconProps } from '@mathesar-component-library/types';

export const arrayIcon: IconProps['data'] = {
  icon: [
    12,
    12,
    [],
    '',
    'M4 0V1.33333H2V10.6667H4V12H0.666664V0H4ZM8 0H11.3333V12H8V10.6667H10V1.33333H8V0Z',
  ],
};

export const outcomeIcon: IconProps['data'] = {
  icon: [
    18,
    18,
    [],
    '',
    'm7.387 0.4182c-0.141 0.3522-0.3215 0.7703-0.5131 1.13-0.2127 0.3993-0.738 0.9245-1.138 1.137-0.3605 0.1918-0.7797 0.3725-1.133 0.5136-0.4214 0.1684-0.4214 0.4069 1.816e-4 0.5754 0.353 0.1412 0.7722 0.322 1.133 0.514 0.3993 0.2126 0.9246 0.7379 1.137 1.137 0.1918 0.3602 0.3724 0.779 0.5134 1.132 0.1685 0.4214 0.4071 0.4214 0.5757-1.3e-4 0.1412-0.3528 0.3219-0.7716 0.5138-1.132 0.2127-0.3993 0.7379-0.9246 1.137-1.137 0.3597-0.1917 0.7778-0.3723 1.13-0.5133 0.4213-0.1688 0.4212-0.4076-2.47e-4 -0.5764-0.3522-0.1411-0.7703-0.3217-1.13-0.5134-0.3993-0.2128-0.9245-0.738-1.137-1.137-0.1916-0.3596-0.3722-0.7774-0.5133-1.129-0.1688-0.4213-0.4076-0.4211-0.5763 3.506e-4zm-4.805 6.427c-0.1056 0.2639-0.2409 0.5772-0.3845 0.8467-0.1594 0.2992-0.553 0.6928-0.8524 0.8521-0.2701 0.1438-0.5842 0.2792-0.8487 0.3849-0.3158 0.1262-0.3157 0.3049 1.36e-4 0.4312 0.2645 0.1058 0.5787 0.2413 0.8488 0.3851 0.2992 0.1593 0.6928 0.553 0.8521 0.8523 0.1437 0.2699 0.279 0.5837 0.3847 0.848 0.1263 0.3158 0.305 0.3157 0.4314-9.7e-5 0.1058-0.2643 0.2412-0.5782 0.385-0.8482 0.1594-0.2992 0.553-0.6929 0.8522-0.8523 0.2695-0.1436 0.5828-0.279 0.8467-0.3847 0.3157-0.1265 0.3156-0.3055-1.838e-4 -0.432-0.2639-0.1057-0.5772-0.241-0.8467-0.3847-0.2992-0.1594-0.6928-0.553-0.8523-0.8523-0.1436-0.2694-0.2789-0.5826-0.3846-0.8464-0.1265-0.3157-0.3054-0.3156-0.4318 2.627e-4zm9.262 0.691c-0.2263 0.5653-0.516 1.236-0.8235 1.814-0.3414 0.6409-1.185 1.484-1.826 1.825-0.5786 0.3079-1.251 0.598-1.818 0.8244-0.6765 0.2703-0.6763 0.6531 2.913e-4 0.9236 0.5667 0.2266 1.24 0.5169 1.818 0.825 0.641 0.3413 1.484 1.184 1.825 1.826 0.3078 0.5782 0.5977 1.25 0.8241 1.817 0.2705 0.6764 0.6534 0.6763 0.9241-2.09e-4 0.2266-0.5662 0.5167-1.239 0.8247-1.817 0.3414-0.641 1.184-1.484 1.826-1.826 0.5774-0.3077 1.248-0.5976 1.814-0.824 0.6763-0.2709 0.6761-0.6543-3.95e-4 -0.9253-0.5653-0.2264-1.236-0.5163-1.814-0.824-0.6408-0.3415-1.484-1.185-1.826-1.826-0.3076-0.5772-0.5974-1.248-0.8238-1.813-0.2709-0.6762-0.6542-0.676-0.925 5.627e-4z',
  ],
};

export const tableIcon: IconProps['data'] = {
  icon: [
    16,
    16,
    [],
    '',
    {
      fillRule: 'evenodd',
      clipRule: 'evenodd',
      path:
        'M15 1C15.5523 1 16 1.44771 16 2V13.5644C16 14.1166 15.5523 14.5644 15 14.5644H1C0.447715 ' +
        '14.5644 0 14.1166 0 13.5644V2C0 1.44772 0.447715 1 1 1H15ZM14.6 6.76282V9.3349C14.5517 9.32236 ' +
        '14.501 9.31568 14.4488 9.31568L11.4861 9.31568V6.78197L14.449 6.78197C14.5012 6.78197 14.5518 ' +
        '6.77532 14.6 6.76282ZM5.83926 9.31569L10.2861 9.31569V6.78197L5.83926 6.78196V9.31569ZM4.63926 ' +
        '9.31569L1.4 9.31569V6.78196L4.63926 6.78196V9.31569ZM4.63926 10.5157V13.1644H1.4V10.5157L4.63926 ' +
        '10.5157ZM5.83926 13.1644V10.5157L10.2861 10.5157V13.1644H5.83926ZM11.4861 ' +
        '10.5157V13.1644H14.6V10.4965C14.5517 10.509 14.501 10.5157 14.4488 10.5157L11.4861 ' +
        '10.5157ZM14.6 5.60112V2.4H1.4V5.58196L14.449 5.58197C14.5012 5.58197 14.5518 5.58862 14.6 5.60112Z',
    },
  ],
};

export const explorationIcon: IconProps['data'] = {
  icon: [
    24,
    24,
    [],
    '',
    [
      'M16.3776 8.27091C16.538 7.86412 16.1358 7.46189 15.729 7.62233L10.1173 9.83557C9.98843 9.88639 ' +
        '9.88643 9.98839 9.8356 10.1173L7.62237 15.729C7.46193 16.1358 7.86415 16.538 8.27094 16.3776L13.8827 ' +
        '14.1643C14.0115 14.1135 14.1135 14.0115 14.1644 13.8826L16.3776 8.27091Z',
      {
        fillRule: 'evenodd',
        clipRule: 'evenodd',
        path:
          'M24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0C18.6274 ' +
          '0 24 5.37258 24 12ZM22.5 12C22.5 17.799 17.799 22.5 12 22.5C6.20101 22.5 1.5 17.799 1.5 12C1.5 6.20101 ' +
          '6.20101 1.5 12 1.5C17.799 1.5 22.5 6.20101 22.5 12Z',
      },
    ],
  ],
};

export const createDatabaseIcon: IconProps['data'] = {
  icon: [
    24,
    24,
    [],
    '',
    [
      'M2.57143 12.4643C2.57143 12.7105 2.93365 13.1387 3.77394 13.5589C4.86104 14.1024 6.40318 14.4286 ' +
        '8.07143 14.4286C9.73966 14.4286 11.2818 14.1024 12.3689 13.5589C13.2092 13.1387 13.5714 12.7105 ' +
        '13.5714 12.4643V10.7583C12.275 11.5593 10.2929 12.0714 8.07143 12.0714C5.85 12.0714 3.86783 11.5593 ' +
        '2.57143 10.7583V12.4643ZM13.5714 14.6868C12.275 15.4879 10.2929 16 8.07143 16C5.85 16 3.86783 ' +
        '15.4879 2.57143 14.6868V16.3929C2.57143 16.6391 2.93365 17.0673 3.77394 17.4874C4.86104 18.031 ' +
        '6.40318 18.3571 8.07143 18.3571C9.73966 18.3571 11.2818 18.031 12.3689 17.4874C13.2092 17.0673 ' +
        '13.5714 16.6391 13.5714 16.3929V14.6868ZM1 16.3929V8.53571C1 6.58299 4.16599 5 8.07143 5C11.9769 ' +
        '5 15.1429 6.58299 15.1429 8.53571V16.3929C15.1429 18.3456 11.9769 19.9286 8.07143 19.9286C4.16599 ' +
        '19.9286 1 18.3456 1 16.3929ZM8.07143 10.5C9.73966 10.5 11.2818 10.1739 12.3689 9.63032C13.2092 ' +
        '9.21017 13.5714 8.78197 13.5714 8.53571C13.5714 8.28946 13.2092 7.86126 12.3689 7.44111C11.2818 ' +
        '6.89756 9.73966 6.57143 8.07143 6.57143C6.40318 6.57143 4.86104 6.89756 3.77394 7.44111C2.93365 ' +
        '7.86126 2.57143 8.28946 2.57143 8.53571C2.57143 8.78197 2.93365 9.21017 3.77394 9.63032C4.86104 ' +
        '10.1739 6.40318 10.5 8.07143 10.5Z',
      'M19.0714 9.51786V11.875H16.7143V13.4464H19.0714V15.8036H20.6429V13.4464H23V11.875H20.6429V9.51786H19.0714Z',
    ],
  ],
};

export const connectDatabaseIcon: IconProps['data'] = {
  icon: [
    24,
    24,
    [],
    '',
    [
      'M2.13666 11.9219C2.13666 12.1713 2.50345 12.6049 3.35432 13.0303C4.45512 13.5807 6.01668 13.911 ' +
        '7.70595 13.911C9.39519 13.911 10.9567 13.5807 12.0575 13.0303C12.9085 12.6049 13.2752 12.1713 13.2752 ' +
        '11.9219V10.1944C11.9625 11.0056 9.95538 11.5241 7.70595 11.5241C5.45654 11.5241 3.44939 11.0056 ' +
        '2.13666 10.1944V11.9219ZM13.2752 14.1725C11.9625 14.9836 9.95538 15.5022 7.70595 15.5022C5.45654 ' +
        '15.5022 3.44939 14.9836 2.13666 14.1725V15.9C2.13666 16.1494 2.50345 16.583 3.35432 17.0084C4.45512 ' +
        '17.5588 6.01668 17.889 7.70595 17.889C9.39519 17.889 10.9567 17.5588 12.0575 17.0084C12.9085 16.583 ' +
        '13.2752 16.1494 13.2752 15.9V14.1725ZM0.545441 15.9V7.94389C0.545441 5.96657 3.75131 4.36364 7.70595 ' +
        '4.36364C11.6606 4.36364 14.8665 5.96657 14.8665 7.94389V15.9C14.8665 17.8773 11.6606 19.4803 7.70595 ' +
        '19.4803C3.75131 19.4803 0.545441 17.8773 0.545441 15.9ZM7.70595 9.93292C9.39519 9.93292 10.9567 9.60268 ' +
        '12.0575 9.05228C12.9085 8.62684 13.2752 8.19325 13.2752 7.94389C13.2752 7.69453 12.9085 7.26094 12.0575 ' +
        '6.8355C10.9567 6.2851 9.39519 5.95486 7.70595 5.95486C6.01668 5.95486 4.45512 6.2851 3.35432 ' +
        '6.8355C2.50345 7.26094 2.13666 7.69453 2.13666 7.94389C2.13666 8.19325 2.50345 8.62684 3.35432 ' +
        '9.05228C4.45512 9.60268 6.01668 9.93292 7.70595 9.93292Z',
      'M17.2467 12.5676C17.1975 12.3604 17.1714 12.1442 17.1714 11.9219C17.1714 11.6997 17.1975 11.4836 ' +
        '17.2466 11.2764L16.4577 10.8209L17.2533 9.44284L18.0428 9.89866C18.3556 9.6028 18.7369 9.37868 ' +
        '19.1605 9.25262V8.3417H20.7517V9.25262C21.1753 9.37867 21.5565 9.60279 21.8693 9.89863L22.6588 ' +
        '9.44277L23.4545 10.8208L22.6654 11.2763C22.7147 11.4836 22.7407 11.6997 22.7407 11.9219C22.7407 ' +
        '12.1442 22.7147 12.3603 22.6655 12.5675L23.4545 13.023L22.6589 14.4011L21.8694 13.9452C21.5566 ' +
        '14.2411 21.1753 14.4652 20.7518 14.5912V15.5022H19.1605V14.5913C18.7369 14.4653 18.3556 14.2412 ' +
        '18.0429 13.9453L17.2533 14.4012L16.4577 13.0231L17.2467 12.5676ZM19.9561 13.1154C20.6151 13.1154 ' +
        '21.1495 12.581 21.1495 11.9219C21.1495 11.2629 20.6151 10.7285 19.9561 10.7285C19.297 10.7285 ' +
        '18.7626 11.2629 18.7626 11.9219C18.7626 12.581 19.297 13.1154 19.9561 13.1154Z',
    ],
  ],
};

export const treeChildNodeArrowIcon: IconProps['data'] = {
  icon: [
    9,
    10,
    [],
    '',
    [
      'M0.5 5V0H1.5V5C1.5 6.933 3.067 8.5 5 8.5H9V9.5H5C2.51472 9.5 0.5 7.48528 0.5 5Z',
    ],
  ],
};

export const permissionsIcon: IconProps['data'] = {
  icon: [
    100,
    100,
    [],
    '',
    [
      'M 50 1.14 C 49.12 1.14 48.23 1.33 47.45 1.7 L 11.29 17.03 C 7.07 18.82 3.92 22.98 3.94 28.01 C 4.04 47.04 11.87 81.87 44.93 97.71 C 48.14 99.24 51.86 99.24 55.07 97.71 C 88.13 81.87 95.96 47.04 96.06 28.01 C 96.08 22.98 92.93 18.82 88.71 17.03 L 52.57 1.7 C 51.77 1.33 50.88 1.14 50 1.14 z M 50 28.19 A 15.36 15.36 0 0 1 65.36 43.55 A 15.36 15.36 0 0 1 56.37 57.53 L 56.37 74.35 A 6.36 6.36 0 0 1 50 80.72 A 6.36 6.36 0 0 1 43.63 74.35 L 43.63 57.53 A 15.36 15.36 0 0 1 34.64 43.55 A 15.36 15.36 0 0 1 50 28.19 z',
    ],
  ],
};

export const databaseLineIcon: IconProps['data'] = {
  icon: [
    24,
    24,
    [],
    '',
    'M5 12.5C5 12.8134 5.46101 13.3584 6.53047 13.8931C7.91405 14.5849 9.87677 15 12 15C14.1232 15 16.0859 14.5849 17.4695 13.8931C18.539 13.3584 19 12.8134 19 12.5V10.3287C17.35 11.3482 14.8273 12 12 12C9.17273 12 6.64996 11.3482 5 10.3287V12.5ZM19 15.3287C17.35 16.3482 14.8273 17 12 17C9.17273 17 6.64996 16.3482 5 15.3287V17.5C5 17.8134 5.46101 18.3584 6.53047 18.8931C7.91405 19.5849 9.87677 20 12 20C14.1232 20 16.0859 19.5849 17.4695 18.8931C18.539 18.3584 19 17.8134 19 17.5V15.3287ZM3 17.5V7.5C3 5.01472 7.02944 3 12 3C16.9706 3 21 5.01472 21 7.5V17.5C21 19.9853 16.9706 22 12 22C7.02944 22 3 19.9853 3 17.5ZM12 10C14.1232 10 16.0859 9.58492 17.4695 8.89313C18.539 8.3584 19 7.81342 19 7.5C19 7.18658 18.539 6.6416 17.4695 6.10687C16.0859 5.41508 14.1232 5 12 5C9.87677 5 7.91405 5.41508 6.53047 6.10687C5.46101 6.6416 5 7.18658 5 7.5C5 7.81342 5.46101 8.3584 6.53047 8.89313C7.91405 9.58492 9.87677 10 12 10Z',
  ],
};

export const modalRecordViewIcon: IconProps['data'] = {
  icon: [
    100,
    100,
    [],
    '',
    'm38.8 0c-8.2 0-15 6.8-15 15v46.2c0 8.2 6.8 15 15 15h46.2c8.2 0 15-6.8 15-15v-46.2c0-8.2-6.8-15-15-15zm43.6 6.7c3.402 0.05358 6.146 2.798 6.2 6.2 4.33e-4 3.441-2.76 6.245-6.2 6.3-3.479 0-6.3-2.821-6.3-6.3 0.05461-3.44 2.859-6.2 6.3-6.2zm-68.4 17.2c-7.7 0.5-14 7-14 14.9v46.2c0 8.2 6.8 15 15 15h46.2c7.9 0 14.4-6.3 14.9-14h-47.1c-8.2 0-15-6.8-15-15zm19.8 0.5h56.2v36.8c0 2.8-2.1 5-5 5h-46.2c-2.8 0-5-2.2-5-5z',
  ],
};

export const circleLowercaseIIcon: IconProps['data'] = {
  icon: [
    1000,
    1000,
    [],
    '',
    'm565 298c0 40-32 72-72 72s-72-32-72-72 32-72 72-72 72 32 72 72zm-131 119c-30 0-55 25-55 55s25 55 55 55h11v120h-29c-30 0-55 25-55 55s25 55 55 55h168c30 0 55-25 55-55s-25-55-55-55h-29v-175c0-30-25-55-55-55zm66-411c-131 0-257 52-349 145-93 92-145 218-145 349s52 257 145 349c92 93 218 145 349 145s257-52 349-145c93-92 145-218 145-349s-52-257-145-349c-92-93-218-145-349-145zm0 110c102 0 200 40 272 112s112 170 112 272-40 200-112 272-170 112-272 112-200-40-272-112-112-170-112-272c0-212 172-384 384-384z',
  ],
};

export const jsonIcon: IconProps['data'] = {
  icon: [
    1000,
    1000,
    [],
    '',
    'm364 5c-115 0-210 95-210 210v136c0 50-39 89-89 89-33 0-61 27-61 61 0 33 27 61 61 61 50 0 89 39 89 89v136c0 115 95 210 210 210 33 0 61-27 61-61 0-33-27-61-61-61-50 0-89-39-89-89v-137c0-58-24-111-63-149 39-38 63-91 63-149v-136c0-50 39-89 89-89 33 0 61-27 61-61 0-33-27-61-61-61zm273 0c-33 0-61 27-61 61 0 33 27 61 61 61 50 0 89 39 89 89v136c0 58 24 111 63 149-39 38-63 91-63 149v136c0 50-39 89-89 89-33 0-61 27-61 61 0 33 27 61 61 61 115 0 210-95 210-210v-138c0-50 39-89 89-89 33 0 61-27 61-61 0-33-27-61-61-61-50 0-89-39-89-89v-134c-1-116-95-210-211-210z',
  ],
};

export const mathesarNameIcon: IconProps['data'] = {
  icon: [
    2000,
    345,
    [],
    '',
    'm824 0v339h69v-123c0-48 18-81 57-81 34 0 45 27 45 64v140h68v-160c0-57-32-97-90-97-36 0-66 16-82 47h-2c3-10 4-23 4-38v-91zm-824 10v329h66v-222c0-15-1-31-1-46h3c2 12 7 33 11 50l62 218h64l63-214c4-15 9-39 11-54h3c-1 19-1 33-1 50v218h66v-329h-105l-56 202c-5 15-9 39-11 52h-2c-1-13-6-38-10-53l-56-201zm730 8-68 11v58h-40v51h40v125c0 62 35 79 76 79 24 0 45-6 61-15v-44c-14 5-25 7-34 7-23 0-34-11-34-44v-108h70v-51h-71zm-228 64c-40 0-77 16-97 30v53c24-16 58-31 87-31 28 0 50 14 50 41-31 0-79 4-115 24-25 14-45 35-45 70 0 47 36 73 79 73 37 0 70-20 80-49h2l3 46h65l-4-77v-79c0-62-39-100-105-100zm719 0c-79 0-128 54-128 132s56 130 137 130c41 0 78-15 95-27v-53c-20 15-57 27-88 27-39 0-73-19-75-60h175v-26c0-71-41-123-117-123zm234 0c-58 0-98 30-98 75 0 42 31 62 86 78 19 6 48 15 48 32 0 14-16 23-43 23-31 0-69-13-92-28v52c20 17 60 29 96 29 64 0 109-32 109-80 0-49-51-67-91-78-23-7-44-13-44-29 0-13 14-22 38-22s55 8 75 22v-53c-22-13-55-22-84-22zm242 0c-40 0-77 16-97 30v53c24-16 58-31 87-31 28 0 50 14 50 41-31 0-79 4-115 24-25 14-45 35-45 70 0 47 36 73 79 73 37 0 70-20 80-49h2l3 46h65l-4-77v-79c0-62-39-100-105-100zm273 2c-30 0-56 24-64 61h-2v-58h-57v252h69v-106c0-55 21-86 59-86 8 0 17 2 26 5v-60c-8-5-20-8-30-8zm-748 47c28 0 51 17 55 52h-114c4-34 30-52 59-52zm-680 83v13c0 47-33 67-58 67-18 0-32-10-32-30 0-16 10-29 27-37 18-9 47-12 62-13zm1196 0v13c0 47-33 67-58 67-18 0-32-10-32-30 0-16 10-29 27-37 18-9 47-12 62-13zz',
  ],
};
